home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / machserver / include / RCS / lfs.h,v < prev    next >
Encoding:
Text File  |  1992-07-17  |  4.4 KB  |  147 lines

  1. head     1.2;
  2. branch   ;
  3. access   ;
  4. symbols  srv030:1.2 srv027:1.2 srv026:1.2 srv024:1.2 srv021:1.2 srv019:1.2 srv018:1.2 srv016:1.2 srv014:1.2 srv010:1.2 srv008:1.2 srv007:1.2 srv006:1.2 srv005:1.2 srv004:1.2 srv003:1.2 srv002:1.2 srv001:1.2;
  5. locks    ; strict;
  6. comment  @ * @;
  7.  
  8.  
  9. 1.2
  10. date     91.12.01.22.16.11;  author kupfer;  state Exp;
  11. branches ;
  12. next     1.1;
  13.  
  14. 1.1
  15. date     91.11.17.17.09.47;  author kupfer;  state Exp;
  16. branches ;
  17. next     ;
  18.  
  19.  
  20. desc
  21. @@
  22.  
  23.  
  24. 1.2
  25. log
  26. @Hacks so can build sprited w/o support for local disk.
  27. @
  28. text
  29. @/*
  30.  * lfs.h --
  31.  *
  32.  *    Declarations of data structures and routines of the LFS file system
  33.  *    exported to the rest of the Sprite file system. 
  34.  *
  35.  * Copyright 1989 Regents of the University of California
  36.  * Permission to use, copy, modify, and distribute this
  37.  * software and its documentation for any purpose and without
  38.  * fee is hereby granted, provided that the above copyright
  39.  * notice appear in all copies.  The University of California
  40.  * makes no representations about the suitability of this
  41.  * software for any purpose.  It is provided "as is" without
  42.  * express or implied warranty.
  43.  *
  44.  * $Header: /r3/kupfer/spriteserver/include/RCS/lfs.h,v 1.1 91/11/17 17:09:47 kupfer Exp Locker: kupfer $ SPRITE (Berkeley)
  45.  */
  46.  
  47. #ifndef _LFS
  48. #define _LFS
  49.  
  50. #include <sprite.h>
  51. #ifdef SPRITED_LOCALDISK
  52. #include <fsdm.h>
  53. #endif
  54.  
  55. /*
  56.  * Flags controlling file system.
  57.  * LFS_CONTROL_CLEANALL - When cleaning, clean all dirty segments.
  58.  */
  59. #define    LFS_CONTROL_CLEANALL    0x1
  60.  
  61. /* Descriptor management routines. */
  62.  
  63. #ifdef SPRITED_LOCALDISK
  64. extern ReturnStatus Lfs_GetNewFileNumber _ARGS_((Fsdm_Domain *domainPtr, 
  65.         int dirFileNum, int *fileNumberPtr));
  66. extern ReturnStatus Lfs_FreeFileNumber _ARGS_((Fsdm_Domain *domainPtr, 
  67.         int fileNumber));
  68. extern ReturnStatus Lfs_FileDescStore _ARGS_((register Fsdm_Domain *domainPtr,
  69.         Fsio_FileIOHandle *handlePtr, int fileNumber, 
  70.         Fsdm_FileDescriptor *fileDescPtr, Boolean forceOut));
  71. extern ReturnStatus Lfs_FileDescFetch _ARGS_((Fsdm_Domain *domainPtr, 
  72.         int fileNumber, Fsdm_FileDescriptor *fileDescPtr));
  73. extern ReturnStatus Lfs_FileDescInit _ARGS_((Fsdm_Domain *domainPtr, 
  74.         int fileNumber, int type, int permissions, int uid, int gid,
  75.         Fsdm_FileDescriptor *fileDescPtr));
  76. /*
  77.  * Startup and shutdown routines. 
  78.  */
  79. extern ReturnStatus Lfs_AttachDisk _ARGS_((Fs_Device *devicePtr, 
  80.             char *localName, int flags, int *domainNumPtr));
  81. extern ReturnStatus Lfs_DetachDisk _ARGS_((Fsdm_Domain *domainPtr));
  82. extern ReturnStatus Lfs_DomainWriteBack _ARGS_((Fsdm_Domain *domainPtr, 
  83.             Boolean shutdown));
  84. extern ReturnStatus Lfs_RereadSummaryInfo _ARGS_((Fsdm_Domain *domainPtr));
  85. extern ReturnStatus Lfs_DomainInfo _ARGS_((Fsdm_Domain *domainPtr, 
  86.             Fs_DomainInfo *domainInfoPtr));
  87. /*
  88.  * File I/O and allocate routines. 
  89.  */
  90. extern ReturnStatus Lfs_FileBlockRead _ARGS_((Fsdm_Domain *domainPtr, 
  91.             register Fsio_FileIOHandle *handlePtr, 
  92.             Fscache_Block *blockPtr));
  93. extern ReturnStatus Lfs_FileBlockWrite _ARGS_((Fsdm_Domain *domainPtr, 
  94.             Fsio_FileIOHandle *handlePtr, Fscache_Block *blockPtr));
  95. extern ReturnStatus Lfs_BlockAllocate _ARGS_((Fsdm_Domain *domainPtr, 
  96.             register Fsio_FileIOHandle *handlePtr, int offset, 
  97.             int numBytes, int flags, int *blockAddrPtr, 
  98.             Boolean *newBlockPtr));
  99. extern ReturnStatus Lfs_FileTrunc _ARGS_((Fsdm_Domain *domainPtr, 
  100.             Fsio_FileIOHandle *handlePtr, 
  101.             int size, Boolean delete));
  102.  
  103. /*
  104.  * Directory routines.
  105.  */
  106. extern ClientData Lfs_DirOpStart _ARGS_((Fsdm_Domain *domainPtr, int opFlags, 
  107.             char *name, int nameLen, int fileNumber, 
  108.             Fsdm_FileDescriptor *fileDescPtr, int dirFileNumber, 
  109.             int dirOffset, Fsdm_FileDescriptor *dirFileDescPtr));
  110. extern void Lfs_DirOpEnd _ARGS_((Fsdm_Domain *domainPtr, ClientData clientData,
  111.             ReturnStatus status, int opFlags, char *name, 
  112.             int nameLen, int fileNumber, 
  113.             Fsdm_FileDescriptor *fileDescPtr, int dirFileNumber, 
  114.             int dirOffset, Fsdm_FileDescriptor *dirFileDescPtr));
  115.  
  116.  
  117. extern void Lfs_Init _ARGS_((void));
  118. extern ReturnStatus Lfs_Command _ARGS_((int command, int bufSize, 
  119.                        Address buffer));
  120. #else /* SPRITED_LOCALDISK */
  121.  
  122. /* 
  123.  * "Return" an error code if somebody tries to invoke Lfs_Command. 
  124.  */
  125. #define Lfs_Command(command, bufSize, buffer)    FS_INVALID_ARG
  126.  
  127. #endif
  128.  
  129. #endif /* _LFS */
  130.  
  131. @
  132.  
  133.  
  134. 1.1
  135. log
  136. @Initial revision
  137. @
  138. text
  139. @d16 1
  140. a16 1
  141.  * $Header: /sprite/src/kernel/lfs/RCS/lfs.h,v 1.4 91/01/09 12:16:31 mendel Exp $ SPRITE (Berkeley)
  142. d23 1
  143. d25 1
  144. d35 1
  145. d92 8
  146. @
  147.